981D - Bookshelves - CodeForces Solution


bitmasks dp greedy *1900

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int const N=515;
int n,k;
ll a[N],s[N];
set<ll>f[N][N];
int main(){
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++)
		scanf("%lld",&a[i]),f[i][1].insert(s[i]=s[i-1]+a[i]);
	for(int i=2;i<=k;i++)
		for(int l=1;l<=n;l++)
			for(int r=l;r<=n;r++)
				for(ll x:f[l-1][i-1])
					f[r][i].insert(x&(s[r]-s[l-1]));
	printf("%lld",*f[n][k].rbegin());
}


Comments

Submit
0 Comments
More Questions

1006A - Adjacent Replacements
1195C - Basketball Exercise
1206A - Choose Two Numbers
1438B - Valerii Against Everyone
822A - I'm bored with life
9A - Die Roll
1430B - Barrels
279B - Books
1374B - Multiply by 2 divide by 6
1093B - Letters Rearranging
1213C - Book Reading
1468C - Berpizza
1546B - AquaMoon and Stolen String
1353C - Board Moves
902A - Visiting a Friend
299B - Ksusha the Squirrel
1647D - Madoka and the Best School in Russia
1208A - XORinacci
1539B - Love Song
22B - Bargaining Table
1490B - Balanced Remainders
264A - Escape from Stones
1506A - Strange Table
456A - Laptops
855B - Marvolo Gaunt's Ring
1454A - Special Permutation
1359A - Berland Poker
459A - Pashmak and Garden
1327B - Princesses and Princes
1450F - The Struggling Contestant